/******************************************************************************* 
  Copyright (C), 1988-2020, zeno Tech. Co., Ltd.
  Description:  ENV模块,接口通过对mtd字符设备操作实现，对mtd字符设备的操作是
                多进程不安全的，所以本接口多进程不安全。调用时要保证无其它线程
                对相应的flash有操作。
  Function List:   
              SYS_EnvInit()
                    |
                    |
                   \ / 
        SYS_EnvSet()/SYS_EnvGet() 
                    |
                    |
                   \ /                         
              SYS_EnvDeInit()
*******************************************************************************/
#ifndef SYS_ENV_H 
#define SYS_ENV_H  

#ifdef __cplusplus
extern "C" {
#endif

/*=============================================================================
                                 Includes                                  
==============================================================================*/


/*=============================================================================
                               Macro Definition
==============================================================================*/


/*=============================================================================
                        Local Structures and Typedef 
==============================================================================*/

/*=============================================================================
                             extern  Variables                                  
==============================================================================*/

/*=============================================================================
                             Function Definition                                  
==============================================================================*/

/*******************************************************************************
  Function:     SYS_EnvGet
  Description:  读取Env配置参数
  Input:        - pKey: 参数名
                - len: 缓存长度
  Output:       - pValue: 参数值缓存
  Return:       0: 成功
                ~0: 失败
  Others:       无
*******************************************************************************/ 
int SYS_EnvGet(char *pKey, char *pValue, unsigned int len);


/*******************************************************************************
  Function:     SYS_EnvSet
  Description:  配置Env配置参数
  Input:        - pKey: 参数名
                - pValue: 参数值
  Output:       无
  Return:       0: 成功
                ~0: 失败
  Others:       无
*******************************************************************************/ 
int SYS_EnvSet(char *pKey, char *pValue);


/*******************************************************************************
  Function:     SYS_EnvInit
  Description:  环境变量模块初始化
  Input:        无
  Output:       无
  Return:       0: 成功
                ~0: 失败
  Others:       无
*******************************************************************************/ 
int SYS_EnvInit(void);


/*******************************************************************************
  Function:     SYS_EnvDeInit
  Description:  环境变量模块注销
  Input:        无
  Output:       无
  Return:       无
  Others:       无
*******************************************************************************/ 
void SYS_EnvDeInit(void);

#ifdef __cplusplus
}
#endif
#endif /* SYS_ENV_H  */

